package net.jonbuck.tassoo;

import net.jonbuck.tassoo.persistence.dao.TassooDaoImpl;

import org.eclipse.ui.application.IWorkbenchConfigurer;
import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
import org.eclipse.ui.application.WorkbenchAdvisor;
import org.eclipse.ui.application.WorkbenchWindowAdvisor;

/**
 * 
 * 
 * @since 1.0.0
 */
public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {

	private static final String PERSPECTIVE_ID = "net.jonbuck.tassoo.perspective";

	/**
	 * 
	 */
	public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
		return new ApplicationWorkbenchWindowAdvisor(configurer);
	}

	/**
     * 
     */
	public String getInitialWindowPerspectiveId() {
		return PERSPECTIVE_ID;
	}

	/**
	 * 
	 */
	public void initialize(IWorkbenchConfigurer configurer) {
		super.initialize(configurer);
		configurer.setSaveAndRestore(true);
	}

	/**
	 * 
	 */
	public void preStartup() {
		TassooDaoImpl.getInstance();
	}

	/**
	 * 
	 */
	public boolean preShutdown() {
		TassooDaoImpl.getInstance().shutdown();
		return super.preShutdown();
	}

}
